前のページ   後のページ   目次へ

********************************

       ■■■■
     ■    ■       ■        ■
     ■           ■■■      ■■■
     ■    ■       ■        ■
       ■■■■
               〜基礎から ★ C++Programing〜
********************************

  【注意】 このマガジンは、最大化してお読みください。
       また、等角フォントでお読みください。
          (MS ゴシックなど)

********************************

 発行者      むーくん
 マガジンNO.  50
 発行日      2001/1/21
 講読人数     2000名ぐらい
 マガジンID   0000050494
          このマガジンは、まぐまぐから配信されています。
********************************
★あいさつ★

第一号からほとんどレイアウトを変えずにやって参りました。
さぼってるのではなく、結構このレイアウトを気に入っているのです。
皆さんはどのようにお感じですか?
ご意見などお待ちしています。
********************************


■■■===============================================■■■
        インターネットって一体何??
  うまく使えばとっても便利なツールなの。
                     とりあえず、愛車の無料診断してみたら?
  →→→ http://www.meru-click.com/?980522203b1355a140t01 


********************************
★目次★

・例題4−1
・例題4−2
・用語説明
・予告

********************************
★例題4−1★

・テレビのリモコンのようなプログラムを作成せよ。
 但し、数字を入力させ、対応するテレビ局名を表示します。

/************************
**  リモコン(東京版)        **
**     2001/1/22                     **
***********************/
#include<iostream>
using namespace std;

int main(void){
    int channel;

    cout << "チャンネル番号を入力してください >> ";
    cin >> channel;

    if(channel == 1){
        cout << "NHK総合" << endl;
    }
    if(channel == 3){
        cout << "NHK教育" << endl;
    }
    if(channel == 4){
        cout << "日本テレビ" << endl;
    }
    if(channel == 6){
        cout << "TBS" << endl;
    }
    if(channel == 8){
        cout << "フジテレビ" << endl;
    }
    if(channel == 10){
        cout << "テレビ朝日" << endl;
    }
    if(channel == 12){
        cout << "テレビ東京" << endl;
    }
    return 0;
}

非常に単純ですが、要は、数字がイコールの部分のみ実行され、
一致しなければ、何も表示されないプログラムです。
「イコール」は、「=」ではダメなので、注意してください。

※エラーメッセージが出ないので、大変気付きにくいエラーです!

********************************
★例題4−2★

足し算の問題を出して、それが正解なら「おめでとう!」を、
不正解なら、答えを表示するプログラムを作成しなさい。
但し、2桁の計算とします。
(ついでに、乱数の作り方も学びます)

/************************
**  足し算作成機ver1.0        **
**     2001/1/22                     **
***********************/
#include<iostream>
#include<cstdlib>      /*乱数のため*/ 
#include<ctime>       /*乱数のため*/
using namespace std;

int main(void){
    int a, b, answer;

    srand( time(NULL) );    /*乱数の種を設定*/

    a = rand();
    b = rand();           /*乱数を出す(この時点では、0〜32767程度)*/
    a = a % 100;
    b = b % 100;        /*100で割った余りを求めると、2桁になる*/

    cout << a << " + " << b << " = ";
    cin >> answer;

    if( answer == (a + b) ){
        cout << "おめでとう!正解です!!" << endl;
    }
    if( !(answer == (a + b)) ){
        cout << "残念。はずれです。" << endl;
        cout << "正解は、" << a+b << " です。" << endl;
    }
    return 0;
}

<cstdlib>と<ctime>は、乱数を求めるために必要です。
srand( time(NULL) );
は、乱数の種(初期値)を設定するための決まり文句
みたいなものです。そのように考えてください。
具体的には、時間によって、違う値が出るようにしてあります。

a = a % 100;
はいいでしょうか?
乱数は、0〜32767程度の値です。
これでは、2桁にならないので、余りをうまく使っているわけです。
例えば、4で割った余りなら、必ず3以下ですよね?

後は、if文をうまく使って、正解と不正解を分岐させています。

********************************
★用語説明★

乱数
   でたらめな値のこと。
   rand();という関数で求められる。
   ゲームなどに好んで使われます。
   これを使うと、意図的にいつも違う動作ができるのです。

********************************
★予告★

今回のプログラムで、不自由を感じなかったでしょうか?
特に、4−2では、「〜でないとき」というのが、指定できれば、
同じような条件文を2度も書かなくて済んだのに・・・

また、4−1でも、「全てと一致しないとき」、という場合を
指定したかったでしょう。

次回は、「else」を使って、成立、不成立をもっと簡単に分岐できる
ようにしましょう!!

********************************


・‥‥…━━━━━━━★ アコム Master Card ★━━━━━━━…‥‥‥・
    ▼ 即時発行 ▼ 年会費無料 ▼ 年中無休・24時間オープン ▼
▼簡単!便利!利用明細がネットで確認 ▼支払い時に払い方を決められる ▼
    ★使ってうれしい豪華旅行プレゼントキャンペーン実施中!★
        http://www.meru-click.com/?980522203b1355a151t01


********************************


講読解除はこちら

http://members.tripod.co.jp/mukun_mmg/mmg/cpp.html

バックナンバーはこちら
http://members.tripod.co.jp/mukun_mmg/mmg/cpp.html

内容について質問やご意見など
smukun@hotmail.com

筆者のWebサイト(むーくんの理学的なんでも講座)
http://members.tripod.co.jp/mukun_mmg/

************************************

前のページ   後のページ   目次へ

[PR]≪占い奇跡の恋愛術≫初回無料:幸せな結婚へ導きます。本格結婚鑑定